home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / prolog / brklyprl.lha / Emulator / Tests / mergesort.w < prev    next >
Encoding:
Text File  |  1989-04-14  |  18.8 KB  |  1,149 lines

  1. procedure  main/0
  2.  
  3. _734:
  4.     put_constant  &50,X1
  5.     execute_proc  main/1
  6.  
  7.  
  8. procedure  main/1
  9.  
  10. _1349:
  11.     init  Y1
  12.     get_variable_y  Y2,X1
  13.     put_variable_y  Y3,X1
  14.     call  make_list/1,3
  15.     put_value_y  Y2,X1
  16.     put_value_y  Y3,X2
  17.     put_value_y  Y1,X3
  18.     call  mergesplit/3,3
  19.     put_unsafe_value  Y3,X1
  20.     put_variable_x  X2,X2
  21.     escape  length/2
  22.     put_value_x  X2,X1
  23.     escape  write/1
  24.     put_constant  ' numbers with ',X1
  25.     escape  write/1
  26.     put_value_y  Y2,X1
  27.     escape  write/1
  28.     put_constant  ' processors',X1
  29.     escape  write/1
  30.     escape  nl/0
  31.     put_unsafe_value  Y1,X1
  32.     escape  write/1
  33.     escape  nl/0
  34.     proceed
  35.  
  36.  
  37. procedure  mergesplit/2
  38.  
  39. _2539:
  40.     try_me_else  _2544,2
  41. _2548:
  42.     get_variable_y  Y3,X1
  43.     get_variable_y  Y1,X2
  44.     escape  atom/1
  45.     put_variable_y  Y2,X1
  46.     call  make_list/1,3
  47.     put_value_y  Y3,X1
  48.     put_unsafe_value  Y2,X2
  49.     put_value_y  Y1,X3
  50.     execute_proc  mergesplit/3
  51. _2544:
  52.     trust_me_else  fail
  53. _2635:
  54.     get_variable_y  Y2,X1
  55.     get_variable_y  Y1,X2
  56.     put_variable_y  Y3,X1
  57.     call  get_processors/1,3
  58.     put_unsafe_value  Y3,X1
  59.     put_value_y  Y2,X2
  60.     put_value_y  Y1,X3
  61.     execute_proc  mergesplit/3
  62.  
  63.  
  64. procedure  mergesplit/3
  65.  
  66. _3403:
  67.     init  Y4
  68.     init  Y2
  69.     get_variable_y  Y3,X1
  70.     get_variable_y  Y1,X3
  71.     put_value_x  X2,X1
  72.     put_value_y  Y3,X2
  73.     put_variable_y  Y5,X3
  74.     call  binpack/3,5
  75.     put_unsafe_value  Y5,X1
  76.     put_value_y  Y4,X2
  77.     call  binsort/2,4
  78.     put_unsafe_value  Y4,X1
  79.     put_value_y  Y3,X2
  80.     put_value_y  Y2,X3
  81.     call  mrgsplt/3,2
  82.     put_unsafe_value  Y2,X1
  83.     put_value_y  Y1,X2
  84.     execute_proc  unbinpack/2
  85.  
  86.  
  87. procedure  binpack/3
  88.  
  89. _4019:
  90.     get_variable_y  Y3,X1
  91.     get_variable_y  Y1,X3
  92.     put_value_x  X2,X1
  93.     put_variable_y  Y2,X2
  94.     call  makeempty/2,3
  95.     put_value_y  Y3,X1
  96.     put_unsafe_value  Y2,X2
  97.     put_value_y  Y1,X3
  98.     execute_proc  bin2/3
  99.  
  100.  
  101. procedure  bin2/3
  102.  
  103.     switch_on_term  _4772,_4773,_4773
  104. _4772:
  105.     try_me_else  _4783,3
  106. _4787:
  107.     get_value_x  X2,X3
  108.     get_nil  X1
  109.     proceed
  110. _4783:
  111.     trust_me_else  fail
  112. _4773:
  113.     get_variable_x  X4,X2
  114.     get_variable_y  Y1,X3
  115.     put_variable_y  Y3,X2
  116.     put_value_x  X4,X3
  117.     put_variable_y  Y2,X4
  118.     call  bin3/4,3
  119.     put_unsafe_value  Y3,X1
  120.     put_unsafe_value  Y2,X2
  121.     put_value_y  Y1,X3
  122.     execute_proc  bin2/3
  123.  
  124.  
  125. procedure  bin3/4
  126.  
  127.     switch_on_term  _5979,_5980,_5981
  128. _5985:
  129.     try_me_else  _5990,4
  130. _5981:
  131.     get_value_x  X1,X2
  132.     get_nil  X3
  133.     get_nil  X4
  134.     proceed
  135. _5990:
  136.     retry_me_else  _6027
  137. _6031:
  138.     get_list  X1
  139.     unify_variable_x  X5
  140.     unify_variable_x  X1
  141.     get_list  X3
  142.     unify_variable_x  X6
  143.     unify_variable_x  X3
  144.     get_list  X4
  145.     unify_variable_x  X7
  146.     unify_variable_x  X4
  147.     get_list  X7
  148.     unify_value_x  X5
  149.     unify_variable_x  X8
  150.     get_value_x  X6,X8
  151.     execute_proc  bin3/4
  152. _6027:
  153.     trust_me_else  fail
  154. _6146:
  155.     get_nil  X1
  156.     get_list  X3
  157.     unify_variable_x  X5
  158.     unify_variable_x  X3
  159.     get_list  X4
  160.     unify_value_x  X5
  161.     unify_variable_x  X4
  162.     put_nil  X1
  163.     execute_proc  bin3/4
  164. _5980:
  165.     try  _5981,4
  166.     trust  _6031
  167. _5979:
  168.     try  _5981,4
  169.     trust  _6146
  170.  
  171.  
  172. procedure  makeempty/2
  173.  
  174.     switch_on_term  _6977,_6978,_6978
  175. _6977:
  176.     try_me_else  _6988,2
  177. _6992:
  178.     get_constant  &0,X1
  179.     get_nil  X2
  180.     proceed
  181. _6988:
  182.     trust_me_else  fail
  183. _6978:
  184.     get_variable_x  X3,X1
  185.     get_list  X2
  186.     unify_variable_x  X5
  187.     unify_variable_x  X6
  188.     get_nil  X5
  189.     put_variable_x  X1,X1
  190.     put_value_x  X3,X2
  191.     put_constant  -,X3
  192.     put_constant  &1,X4
  193.     escape  is/4
  194.     put_value_x  X6,X2
  195.     execute_proc  makeempty/2
  196.  
  197.  
  198. procedure  binsort/2
  199.  
  200.     switch_on_term  _7877,_7878,fail
  201. _7883:
  202.     try_me_else  _7888,2
  203. _7877:
  204.     get_nil  X1
  205.     get_nil  X2
  206.     proceed
  207. _7888:
  208.     trust_me_else  fail
  209. _7878:
  210.     get_list  X1
  211.     unify_variable_x  X1
  212.     unify_variable_y  Y2
  213.     get_list  X2
  214.     unify_variable_x  X2
  215.     unify_variable_y  Y1
  216.     call  quicksort/2,2
  217.     put_value_y  Y2,X1
  218.     put_value_y  Y1,X2
  219.     execute_proc  binsort/2
  220.  
  221.  
  222. procedure  quicksort/2
  223.  
  224. _8414:
  225.     put_structure  -/2,X3,2
  226.     unify_value_write_x  X2
  227.     unify_variable_write_x  X4
  228.     get_nil  X4
  229.     put_value_x  X3,X2
  230.     execute_proc  qsort/2
  231.  
  232.  
  233. procedure  qsort/2
  234.  
  235.     switch_on_term  _9309,_9310,fail
  236. _9315:
  237.     try_me_else  _9320,2
  238. _9309:
  239.     get_nil  X1
  240.     get_structure  -/2,X2,2
  241.     unify_variable_x  X1
  242.     unify_value_x  X1
  243.     proceed
  244. _9320:
  245.     trust_me_else  fail
  246. _9310:
  247.     get_list  X1
  248.     init  Y2
  249.     init  Y1
  250.     unify_variable_y  Y6
  251.     unify_variable_x  X1
  252.     get_structure  -/2,X2,2
  253.     unify_variable_y  Y7
  254.     unify_variable_y  Y4
  255.     put_value_y  Y6,X2
  256.     put_variable_y  Y5,X3
  257.     put_variable_y  Y3,X4
  258.     call  partition/4,7
  259.     put_structure  -/2,X2,2
  260.     unify_value_write_y  Y7
  261.     unify_variable_write_x  X1
  262.     get_list  X1
  263.     unify_value_y  Y6
  264.     unify_value_y  Y1
  265.     put_unsafe_value  Y5,X1
  266.     call  qsort/2,4
  267.     put_structure  -/2,X2,2
  268.     unify_value_write_y  Y2
  269.     unify_value_write_y  Y4
  270.     put_unsafe_value  Y3,X1
  271.     call  qsort/2,2
  272.     put_value_y  Y2,X8
  273.     get_value_y  Y1,X8
  274.     proceed
  275.  
  276.  
  277. procedure  partition/4
  278.  
  279.     switch_on_term  _10833,_10834,fail
  280. _10839:
  281.     try_me_else  _10844,4
  282. _10833:
  283.     get_nil  X1
  284.     get_nil  X3
  285.     get_nil  X4
  286.     proceed
  287. _10844:
  288.     retry_me_else  _10877
  289. _10881:
  290.     get_variable_x  X5,X2
  291.     get_list  X1
  292.     unify_variable_x  X2
  293.     unify_variable_x  X6
  294.     get_list  X4
  295.     unify_value_x  X2
  296.     unify_variable_x  X4
  297.     put_value_x  X5,X1
  298.     escape  </2
  299.     put_value_x  X6,X1
  300.     put_value_x  X5,X2
  301.     execute_proc  partition/4
  302. _10877:
  303.     trust_me_else  fail
  304. _10987:
  305.     get_variable_x  X5,X2
  306.     get_list  X1
  307.     unify_variable_x  X2
  308.     unify_variable_x  X6
  309.     get_list  X3
  310.     unify_value_x  X2
  311.     unify_variable_x  X3
  312.     put_value_x  X5,X1
  313.     escape  >=/2
  314.     put_value_x  X6,X1
  315.     put_value_x  X5,X2
  316.     execute_proc  partition/4
  317. _10834:
  318.     try  _10881,4
  319.     trust  _10987
  320.  
  321.  
  322. procedure  mrgsplt/3
  323.  
  324.     switch_on_term  _12499,_12500,_12499
  325. _12500:
  326.     try_me_else  _12510,3
  327. _12514:
  328.     get_constant  &0,X2
  329.     get_value_x  X1,X3
  330.     proceed
  331. _12510:
  332.     retry_me_else  _12543
  333. _12547:
  334.     init  Y2
  335.     get_variable_y  Y4,X1
  336.     get_variable_y  Y3,X2
  337.     get_variable_y  Y1,X3
  338.     put_value_y  Y3,X1
  339.     call  odd/1,4
  340.     put_value_y  Y4,X1
  341.     put_value_y  Y2,X2
  342.     call  mrgandsplt/2,3
  343.     put_variable_x  X5,X1
  344.     put_value_y  Y3,X2
  345.     put_constant  -,X3
  346.     put_constant  &1,X4
  347.     escape  is/4
  348.     put_unsafe_value  Y2,X1
  349.     put_value_x  X5,X2
  350.     put_value_y  Y1,X3
  351.     execute_proc  mrgsplt/3
  352. _12543:
  353.     trust_me_else  fail
  354. _12709:
  355.     init  Y2
  356.     get_variable_y  Y4,X2
  357.     get_variable_y  Y1,X3
  358.     get_list  X1
  359.     unify_variable_y  Y3
  360.     unify_variable_y  Y5
  361.     put_value_y  Y4,X1
  362.     call  even/1,5
  363.     put_value_y  Y5,X1
  364.     put_value_y  Y2,X2
  365.     call  mrgandsplt/2,4
  366.     put_variable_x  X5,X1
  367.     put_value_y  Y4,X2
  368.     put_constant  -,X3
  369.     put_constant  &1,X4
  370.     escape  is/4
  371.     put_list  X6
  372.     unify_value_write_y  Y3
  373.     unify_variable_write_x  X8
  374.     get_value_y  Y2,X8
  375.     put_value_x  X6,X1
  376.     put_value_x  X5,X2
  377.     put_value_y  Y1,X3
  378.     execute_proc  mrgsplt/3
  379. _12499:
  380.     try  _12514,3
  381.     trust  _12547
  382.  
  383.  
  384. procedure  mrgandsplt/2
  385.  
  386.     switch_on_term  _14223,_14224,fail
  387. _14229:
  388.     try_me_else  _14234,2
  389. _14223:
  390.     get_nil  X1
  391.     get_nil  X2
  392.     proceed
  393. _14234:
  394.     retry_me_else  _14261
  395. _14265:
  396.     get_list  X1
  397.     unify_variable_x  X1
  398.     unify_nil
  399.     get_list  X2
  400.     unify_value_x  X1
  401.     unify_nil
  402.     proceed
  403. _14261:
  404.     trust_me_else  fail
  405. _14316:
  406.     get_list  X1
  407.     unify_variable_x  X1
  408.     get_cdr_list
  409.     unify_variable_x  X3
  410.     unify_variable_y  Y2
  411.     get_list  X2
  412.     unify_variable_y  Y4
  413.     get_cdr_list
  414.     unify_variable_y  Y3
  415.     unify_variable_y  Y1
  416.     put_value_x  X3,X2
  417.     put_constant  &0,X3
  418.     put_variable_y  Y5,X4
  419.     put_variable_y  Y6,X5
  420.     call  merge/5,6
  421.     put_unsafe_value  Y6,X1
  422.     put_unsafe_value  Y5,X2
  423.     put_value_y  Y4,X3
  424.     put_value_y  Y3,X4
  425.     call  split/4,2
  426.     put_value_y  Y2,X1
  427.     put_value_y  Y1,X2
  428.     execute_proc  mrgandsplt/2
  429. _14224:
  430.     try  _14265,2
  431.     trust  _14316
  432.  
  433.  
  434. procedure  merge/5
  435.  
  436.     switch_on_term  _16534,_16535,_16536
  437. _16540:
  438.     try_me_else  _16545,5
  439. _16549:
  440.     get_value_x  X3,X4
  441.     get_nil  X1
  442.     get_nil  X2
  443.     get_nil  X5
  444.     proceed
  445. _16545:
  446.     retry_me_else  _16588
  447. _16536:
  448.     get_value_x  X1,X5
  449.     get_nil  X2
  450.     put_variable_x  X5,X2
  451.     escape  length/2
  452.     put_value_x  X4,X1
  453.     put_value_x  X3,X2
  454.     put_constant  +,X3
  455.     put_value_x  X5,X4
  456.     escape  is/4
  457.     proceed
  458. _16588:
  459.     retry_me_else  _16677
  460. _16681:
  461.     get_value_x  X3,X4
  462.     get_value_x  X2,X5
  463.     get_nil  X1
  464.     proceed
  465. _16677:
  466.     retry_me_else  _16718
  467. _16722:
  468.     get_variable_x  X6,X4
  469.     get_list  X1
  470.     unify_variable_x  X1
  471.     unify_variable_x  X7
  472.     get_list  X2
  473.     unify_variable_y  Y4
  474.     unify_variable_y  Y3
  475.     get_list  X5
  476.     unify_value_x  X1
  477.     unify_variable_x  X5
  478.     put_value_y  Y4,X2
  479.     escape  =</2
  480.     put_variable_y  Y1,X1
  481.     put_value_x  X3,X2
  482.     put_constant  +,X3
  483.     put_constant  &1,X4
  484.     escape  is/4
  485.     put_variable_y  Y2,X8
  486.     get_list  X8
  487.     unify_value_y  Y4
  488.     unify_variable_x  X8
  489.     get_value_y  Y3,X8
  490.     put_value_x  X7,X1
  491.     put_unsafe_value  Y2,X2
  492.     put_unsafe_value  Y1,X3
  493.     put_value_x  X6,X4
  494.     execute_proc  merge/5
  495. _16718:
  496.     trust_me_else  fail
  497. _16953:
  498.     get_list  X1
  499.     unify_variable_x  X6
  500.     unify_variable_x  X7
  501.     get_list  X2
  502.     unify_variable_x  X1
  503.     unify_variable_y  Y1
  504.     get_list  X5
  505.     unify_value_x  X1
  506.     unify_variable_x  X5
  507.     put_value_x  X6,X2
  508.     escape  </2
  509.     put_variable_y  Y2,X8
  510.     get_list  X8
  511.     unify_value_x  X6
  512.     unify_variable_x  X8
  513.     get_value_x  X7,X8
  514.     put_unsafe_value  Y2,X1
  515.     put_value_y  Y1,X2
  516.     execute_proc  merge/5
  517. _16535:
  518.     try  _16536,5
  519.     retry  _16722
  520.     trust  _16953
  521. _16534:
  522.     try  _16549,5
  523.     retry  _16536
  524.     trust  _16681
  525.  
  526.  
  527. procedure  split/4
  528.  
  529.     switch_on_term  _21723,_21724,_21723
  530. _21724:
  531.     try_me_else  _21734,4
  532. _21723:
  533.     get_constant  &0,X2
  534.     get_value_x  X1,X4
  535.     get_nil  X3
  536.     proceed
  537. _21734:
  538.     trust_me_else  fail
  539. _21777:
  540.     get_variable_x  X5,X4
  541.     get_list  X1
  542.     unify_variable_x  X6
  543.     unify_variable_x  X7
  544.     get_list  X3
  545.     unify_value_x  X6
  546.     unify_variable_x  X6
  547.     put_variable_y  Y1,X1
  548.     put_constant  -,X3
  549.     put_constant  &1,X4
  550.     escape  is/4
  551.     put_value_x  X7,X1
  552.     put_unsafe_value  Y1,X2
  553.     put_value_x  X6,X3
  554.     put_value_x  X5,X4
  555.     execute_proc  split/4
  556.  
  557.  
  558. procedure  make_list/1
  559.  
  560. _23771:
  561.     get_list  X1
  562.     unify_constant  &50
  563.     get_cdr_list
  564.     unify_constant  &48
  565.     get_cdr_list
  566.     unify_constant  &46
  567.     get_cdr_list
  568.     unify_constant  &44
  569.     get_cdr_list
  570.     unify_constant  &42
  571.     get_cdr_list
  572.     unify_constant  &40
  573.     get_cdr_list
  574.     unify_constant  &38
  575.     get_cdr_list
  576.     unify_constant  &36
  577.     get_cdr_list
  578.     unify_constant  &34
  579.     get_cdr_list
  580.     unify_constant  &32
  581.     get_cdr_list
  582.     unify_constant  &30
  583.     get_cdr_list
  584.     unify_constant  &28
  585.     get_cdr_list
  586.     unify_constant  &26
  587.     get_cdr_list
  588.     unify_constant  &24
  589.     get_cdr_list
  590.     unify_constant  &22
  591.     get_cdr_list
  592.     unify_constant  &20
  593.     get_cdr_list
  594.     unify_constant  &18
  595.     get_cdr_list
  596.     unify_constant  &16
  597.     get_cdr_list
  598.     unify_constant  &14
  599.     get_cdr_list
  600.     unify_constant  &12
  601.     get_cdr_list
  602.     unify_constant  &10
  603.     get_cdr_list
  604.     unify_constant  &8
  605.     get_cdr_list
  606.     unify_constant  &6
  607.     get_cdr_list
  608.     unify_constant  &4
  609.     get_cdr_list
  610.     unify_constant  &2
  611.     get_cdr_list
  612.     unify_constant  &1
  613.     get_cdr_list
  614.     unify_constant  &3
  615.     get_cdr_list
  616.     unify_constant  &5
  617.     get_cdr_list
  618.     unify_constant  &7
  619.     get_cdr_list
  620.     unify_constant  &9
  621.     get_cdr_list
  622.     unify_constant  &11
  623.     get_cdr_list
  624.     unify_constant  &13
  625.     get_cdr_list
  626.     unify_constant  &15
  627.     get_cdr_list
  628.     unify_constant  &17
  629.     get_cdr_list
  630.     unify_constant  &19
  631.     get_cdr_list
  632.     unify_constant  &21
  633.     get_cdr_list
  634.     unify_constant  &23
  635.     get_cdr_list
  636.     unify_constant  &25
  637.     get_cdr_list
  638.     unify_constant  &27
  639.     get_cdr_list
  640.     unify_constant  &29
  641.     get_cdr_list
  642.     unify_constant  &31
  643.     get_cdr_list
  644.     unify_constant  &33
  645.     get_cdr_list
  646.     unify_constant  &35
  647.     get_cdr_list
  648.     unify_constant  &37
  649.     get_cdr_list
  650.     unify_constant  &39
  651.     get_cdr_list
  652.     unify_constant  &41
  653.     get_cdr_list
  654.     unify_constant  &43
  655.     get_cdr_list
  656.     unify_constant  &45
  657.     get_cdr_list
  658.     unify_constant  &47
  659.     get_cdr_list
  660.     unify_constant  &49
  661.     get_cdr_list
  662.     unify_constant  &50
  663.     get_cdr_list
  664.     unify_constant  &48
  665.     get_cdr_list
  666.     unify_constant  &46
  667.     get_cdr_list
  668.     unify_constant  &44
  669.     get_cdr_list
  670.     unify_constant  &42
  671.     get_cdr_list
  672.     unify_constant  &40
  673.     get_cdr_list
  674.     unify_constant  &38
  675.     get_cdr_list
  676.     unify_constant  &36
  677.     get_cdr_list
  678.     unify_constant  &34
  679.     get_cdr_list
  680.     unify_constant  &32
  681.     get_cdr_list
  682.     unify_constant  &30
  683.     get_cdr_list
  684.     unify_constant  &28
  685.     get_cdr_list
  686.     unify_constant  &26
  687.     get_cdr_list
  688.     unify_constant  &24
  689.     get_cdr_list
  690.     unify_constant  &22
  691.     get_cdr_list
  692.     unify_constant  &20
  693.     get_cdr_list
  694.     unify_constant  &18
  695.     get_cdr_list
  696.     unify_constant  &16
  697.     get_cdr_list
  698.     unify_constant  &14
  699.     get_cdr_list
  700.     unify_constant  &12
  701.     get_cdr_list
  702.     unify_constant  &10
  703.     get_cdr_list
  704.     unify_constant  &8
  705.     get_cdr_list
  706.     unify_constant  &6
  707.     get_cdr_list
  708.     unify_constant  &4
  709.     get_cdr_list
  710.     unify_constant  &2
  711.     get_cdr_list
  712.     unify_constant  &1
  713.     get_cdr_list
  714.     unify_constant  &3
  715.     get_cdr_list
  716.     unify_constant  &5
  717.     get_cdr_list
  718.     unify_constant  &7
  719.     get_cdr_list
  720.     unify_constant  &9
  721.     get_cdr_list
  722.     unify_constant  &11
  723.     get_cdr_list
  724.     unify_constant  &13
  725.     get_cdr_list
  726.     unify_constant  &15
  727.     get_cdr_list
  728.     unify_constant  &17
  729.     get_cdr_list
  730.     unify_constant  &19
  731.     get_cdr_list
  732.     unify_constant  &21
  733.     get_cdr_list
  734.     unify_constant  &23
  735.     get_cdr_list
  736.     unify_constant  &25
  737.     get_cdr_list
  738.     unify_constant  &27
  739.     get_cdr_list
  740.     unify_constant  &29
  741.     get_cdr_list
  742.     unify_constant  &31
  743.     get_cdr_list
  744.     unify_constant  &33
  745.     get_cdr_list
  746.     unify_constant  &35
  747.     get_cdr_list
  748.     unify_constant  &37
  749.     get_cdr_list
  750.     unify_constant  &39
  751.     get_cdr_list
  752.     unify_constant  &41
  753.     get_cdr_list
  754.     unify_constant  &43
  755.     get_cdr_list
  756.     unify_constant  &45
  757.     get_cdr_list
  758.     unify_constant  &47
  759.     get_cdr_list
  760.     unify_constant  &49
  761.     get_cdr_list
  762.     unify_constant  &50
  763.     get_cdr_list
  764.     unify_constant  &48
  765.     get_cdr_list
  766.     unify_constant  &46
  767.     get_cdr_list
  768.     unify_constant  &44
  769.     get_cdr_list
  770.     unify_constant  &42
  771.     get_cdr_list
  772.     unify_constant  &40
  773.     get_cdr_list
  774.     unify_constant  &38
  775.     get_cdr_list
  776.     unify_constant  &36
  777.     get_cdr_list
  778.     unify_constant  &34
  779.     get_cdr_list
  780.     unify_constant  &32
  781.     get_cdr_list
  782.     unify_constant  &30
  783.     get_cdr_list
  784.     unify_constant  &28
  785.     get_cdr_list
  786.     unify_constant  &26
  787.     get_cdr_list
  788.     unify_constant  &24
  789.     get_cdr_list
  790.     unify_constant  &22
  791.     get_cdr_list
  792.     unify_constant  &20
  793.     get_cdr_list
  794.     unify_constant  &18
  795.     get_cdr_list
  796.     unify_constant  &16
  797.     get_cdr_list
  798.     unify_constant  &14
  799.     get_cdr_list
  800.     unify_constant  &12
  801.     get_cdr_list
  802.     unify_constant  &10
  803.     get_cdr_list
  804.     unify_constant  &8
  805.     get_cdr_list
  806.     unify_constant  &6
  807.     get_cdr_list
  808.     unify_constant  &4
  809.     get_cdr_list
  810.     unify_constant  &2
  811.     get_cdr_list
  812.     unify_constant  &1
  813.     get_cdr_list
  814.     unify_constant  &3
  815.     get_cdr_list
  816.     unify_constant  &5
  817.     get_cdr_list
  818.     unify_constant  &7
  819.     get_cdr_list
  820.     unify_constant  &9
  821.     get_cdr_list
  822.     unify_constant  &11
  823.     get_cdr_list
  824.     unify_constant  &13
  825.     get_cdr_list
  826.     unify_constant  &15
  827.     get_cdr_list
  828.     unify_constant  &17
  829.     get_cdr_list
  830.     unify_constant  &19
  831.     get_cdr_list
  832.     unify_constant  &21
  833.     get_cdr_list
  834.     unify_constant  &23
  835.     get_cdr_list
  836.     unify_constant  &25
  837.     get_cdr_list
  838.     unify_constant  &27
  839.     get_cdr_list
  840.     unify_constant  &29
  841.     get_cdr_list
  842.     unify_constant  &31
  843.     get_cdr_list
  844.     unify_constant  &33
  845.     get_cdr_list
  846.     unify_constant  &35
  847.     get_cdr_list
  848.     unify_constant  &37
  849.     get_cdr_list
  850.     unify_constant  &39
  851.     get_cdr_list
  852.     unify_constant  &41
  853.     get_cdr_list
  854.     unify_constant  &43
  855.     get_cdr_list
  856.     unify_constant  &45
  857.     get_cdr_list
  858.     unify_constant  &47
  859.     get_cdr_list
  860.     unify_constant  &49
  861.     get_cdr_list
  862.     unify_constant  &50
  863.     get_cdr_list
  864.     unify_constant  &48
  865.     get_cdr_list
  866.     unify_constant  &46
  867.     get_cdr_list
  868.     unify_constant  &44
  869.     get_cdr_list
  870.     unify_constant  &42
  871.     get_cdr_list
  872.     unify_constant  &40
  873.     get_cdr_list
  874.     unify_constant  &38
  875.     get_cdr_list
  876.     unify_constant  &36
  877.     get_cdr_list
  878.     unify_constant  &34
  879.     get_cdr_list
  880.     unify_constant  &32
  881.     get_cdr_list
  882.     unify_constant  &30
  883.     get_cdr_list
  884.     unify_constant  &28
  885.     get_cdr_list
  886.     unify_constant  &26
  887.     get_cdr_list
  888.     unify_constant  &24
  889.     get_cdr_list
  890.     unify_constant  &22
  891.     get_cdr_list
  892.     unify_constant  &20
  893.     get_cdr_list
  894.     unify_constant  &18
  895.     get_cdr_list
  896.     unify_constant  &16
  897.     get_cdr_list
  898.     unify_constant  &14
  899.     get_cdr_list
  900.     unify_constant  &12
  901.     get_cdr_list
  902.     unify_constant  &10
  903.     get_cdr_list
  904.     unify_constant  &8
  905.     get_cdr_list
  906.     unify_constant  &6
  907.     get_cdr_list
  908.     unify_constant  &4
  909.     get_cdr_list
  910.     unify_constant  &2
  911.     get_cdr_list
  912.     unify_constant  &1
  913.     get_cdr_list
  914.     unify_constant  &3
  915.     get_cdr_list
  916.     unify_constant  &5
  917.     get_cdr_list
  918.     unify_constant  &7
  919.     get_cdr_list
  920.     unify_constant  &9
  921.     get_cdr_list
  922.     unify_constant  &11
  923.     get_cdr_list
  924.     unify_constant  &13
  925.     get_cdr_list
  926.     unify_constant  &15
  927.     get_cdr_list
  928.     unify_constant  &17
  929.     get_cdr_list
  930.     unify_constant  &19
  931.     get_cdr_list
  932.     unify_constant  &21
  933.     get_cdr_list
  934.     unify_constant  &23
  935.     get_cdr_list
  936.     unify_constant  &25
  937.     get_cdr_list
  938.     unify_constant  &27
  939.     get_cdr_list
  940.     unify_constant  &29
  941.     get_cdr_list
  942.     unify_constant  &31
  943.     get_cdr_list
  944.     unify_constant  &33
  945.     get_cdr_list
  946.     unify_constant  &35
  947.     get_cdr_list
  948.     unify_constant  &37
  949.     get_cdr_list
  950.     unify_constant  &39
  951.     get_cdr_list
  952.     unify_constant  &41
  953.     get_cdr_list
  954.     unify_constant  &43
  955.     get_cdr_list
  956.     unify_constant  &45
  957.     get_cdr_list
  958.     unify_constant  &47
  959.     get_cdr_list
  960.     unify_constant  &49
  961.     get_cdr_list
  962.     unify_constant  &50
  963.     get_cdr_list
  964.     unify_constant  &48
  965.     get_cdr_list
  966.     unify_constant  &46
  967.     get_cdr_list
  968.     unify_constant  &44
  969.     get_cdr_list
  970.     unify_constant  &42
  971.     get_cdr_list
  972.     unify_constant  &40
  973.     get_cdr_list
  974.     unify_constant  &38
  975.     get_cdr_list
  976.     unify_constant  &36
  977.     get_cdr_list
  978.     unify_constant  &34
  979.     get_cdr_list
  980.     unify_constant  &32
  981.     get_cdr_list
  982.     unify_constant  &30
  983.     get_cdr_list
  984.     unify_constant  &28
  985.     get_cdr_list
  986.     unify_constant  &26
  987.     get_cdr_list
  988.     unify_constant  &24
  989.     get_cdr_list
  990.     unify_constant  &22
  991.     get_cdr_list
  992.     unify_constant  &20
  993.     get_cdr_list
  994.     unify_constant  &18
  995.     get_cdr_list
  996.     unify_constant  &16
  997.     get_cdr_list
  998.     unify_constant  &14
  999.     get_cdr_list
  1000.     unify_constant  &12
  1001.     get_cdr_list
  1002.     unify_constant  &10
  1003.     get_cdr_list
  1004.     unify_constant  &8
  1005.     get_cdr_list
  1006.     unify_constant  &6
  1007.     get_cdr_list
  1008.     unify_constant  &4
  1009.     get_cdr_list
  1010.     unify_constant  &2
  1011.     get_cdr_list
  1012.     unify_constant  &1
  1013.     get_cdr_list
  1014.     unify_constant  &3
  1015.     get_cdr_list
  1016.     unify_constant  &5
  1017.     get_cdr_list
  1018.     unify_constant  &7
  1019.     get_cdr_list
  1020.     unify_constant  &9
  1021.     get_cdr_list
  1022.     unify_constant  &11
  1023.     get_cdr_list
  1024.     unify_constant  &13
  1025.     get_cdr_list
  1026.     unify_constant  &15
  1027.     get_cdr_list
  1028.     unify_constant  &17
  1029.     get_cdr_list
  1030.     unify_constant  &19
  1031.     get_cdr_list
  1032.     unify_constant  &21
  1033.     get_cdr_list
  1034.     unify_constant  &23
  1035.     get_cdr_list
  1036.     unify_constant  &25
  1037.     get_cdr_list
  1038.     unify_constant  &27
  1039.     get_cdr_list
  1040.     unify_constant  &29
  1041.     get_cdr_list
  1042.     unify_constant  &31
  1043.     get_cdr_list
  1044.     unify_constant  &33
  1045.     get_cdr_list
  1046.     unify_constant  &35
  1047.     get_cdr_list
  1048.     unify_constant  &37
  1049.     get_cdr_list
  1050.     unify_constant  &39
  1051.     get_cdr_list
  1052.     unify_constant  &41
  1053.     get_cdr_list
  1054.     unify_constant  &43
  1055.     get_cdr_list
  1056.     unify_constant  &45
  1057.     get_cdr_list
  1058.     unify_constant  &47
  1059.     get_cdr_list
  1060.     unify_constant  &49
  1061.     unify_nil
  1062.     proceed
  1063.  
  1064.  
  1065. procedure  get_processors/1
  1066.  
  1067. _27064:
  1068.     get_constant  &3,X1
  1069.     proceed
  1070.  
  1071.  
  1072. procedure  unbinpack/2
  1073.  
  1074. _27395:
  1075.     get_variable_x  X3,X2
  1076.     put_nil  X2
  1077.     execute_proc  unbinpack/3
  1078.  
  1079.  
  1080. procedure  unbinpack/3
  1081.  
  1082.     switch_on_term  _28024,_28025,fail
  1083. _28030:
  1084.     try_me_else  _28035,3
  1085. _28024:
  1086.     get_value_x  X2,X3
  1087.     get_nil  X1
  1088.     proceed
  1089. _28035:
  1090.     trust_me_else  fail
  1091. _28025:
  1092.     get_variable_y  Y1,X3
  1093.     get_list  X1
  1094.     unify_variable_x  X3
  1095.     unify_variable_y  Y3
  1096.     put_value_x  X2,X1
  1097.     put_value_x  X3,X2
  1098.     put_variable_y  Y2,X3
  1099.     call  append/3,3
  1100.     put_value_y  Y3,X1
  1101.     put_unsafe_value  Y2,X2
  1102.     put_value_y  Y1,X3
  1103.     execute_proc  unbinpack/3
  1104.  
  1105.  
  1106. procedure  append/3
  1107.  
  1108.     switch_on_term  _28871,_28872,fail
  1109. _28877:
  1110.     try_me_else  _28882,3
  1111. _28871:
  1112.     get_value_x  X2,X3
  1113.     get_nil  X1
  1114.     proceed
  1115. _28882:
  1116.     trust_me_else  fail
  1117. _28872:
  1118.     get_list  X1
  1119.     unify_variable_x  X4
  1120.     unify_variable_x  X1
  1121.     get_list  X3
  1122.     unify_value_x  X4
  1123.     unify_variable_x  X3
  1124.     execute_proc  append/3
  1125.  
  1126.  
  1127. procedure  even/1
  1128.  
  1129. _29383:
  1130.     get_variable_x  X2,X1
  1131.     put_constant  &0,X1
  1132.     put_constant  mod,X3
  1133.     put_constant  &2,X4
  1134.     escape  is/4
  1135.     proceed
  1136.  
  1137.  
  1138. procedure  odd/1
  1139.  
  1140. _29717:
  1141.     get_variable_x  X2,X1
  1142.     put_constant  &1,X1
  1143.     put_constant  mod,X3
  1144.     put_constant  &2,X4
  1145.     escape  is/4
  1146.     proceed
  1147.  
  1148.  
  1149.